
#ifndef _dgtFILTERCTRL_H_
#define _dgtFILTERCTRL_H_

// For compilers that support precompilation, includes <wxWidgets/include/wx/wx.h>.
#include <wx/wxprec.h>

#ifndef WX_PRECOMP
	#include <wx/wx.h>
#endif

#ifdef __WXMAC__

#include <wx/srchctrl.h>

/**********************************************************************************************/
class dgtFilterCtrl : public wxSearchCtrl
{
	public://///////////////////////////////////////////////////////////////////////////////////
							dgtFilterCtrl(
								wxWindow*		parent,
								wxWindowID		id = -1,
								wxString		value = wxEmptyString,
								const wxPoint&	pos = wxDefaultPosition,
								const wxSize&	size = wxDefaultSize,
								long			style = wxNO_BORDER);					

		int					GetSelection( void );
};

#else //__WXMAC__

/**********************************************************************************************/
class dgtFilterCtrl : public wxPanel
{
	DECLARE_EVENT_TABLE()

public://///////////////////////////////////////////////////////////////////////////////////

	dgtFilterCtrl(
		wxWindow*		parent,
		wxWindowID		id = -1,
		const wxPoint&	pos = wxDefaultPosition,
		const wxSize&	size = wxDefaultSize,
		long			style = wxNO_BORDER);					

	int					GetSelection( void );
	
	void				SetValue( wxString a_strValue ) { m_pTextCtrl->SetValue( a_strValue ); }
	wxString			GetValue( void ) { return m_pTextCtrl->GetValue(); }

	void				SetMenu( wxMenu* a_pMenu ) { m_pMenu = a_pMenu; }
	wxMenu*				GetMenu( void ) { return m_pMenu; }

	void				SetUseGradient( void ) { m_bGradient = true; };

	wxSize				GetBestSize( void ) { return wxSize( -1, 22 ); }

private://///////////////////////////////////////////////////////////////////////////////////

	void				OnPaint( wxPaintEvent& event );
	void				OnEraseBackground( wxEraseEvent& event );
	void				OnLeftDown( wxMouseEvent& event );

private://///////////////////////////////////////////////////////////////////////////////////

	int					m_iId;
	wxMenu*				m_pMenu;
	wxTextCtrl*			m_pTextCtrl;

	bool				m_bGradient;

	wxBitmap			m_bmpLeft;
	wxBitmap			m_bmpRight;
};

#endif //__WXMAC__

/**********************************************************************************************/
#endif //_dgtFilterCtrl_H_
